FROM node:24-alpine AS builder
WORKDIR /app

COPY package.json ./

# 直接使用 npm install 并解决依赖问题
RUN npm install --no-audit --no-fund --legacy-peer-deps

# 拷贝源码并构建
COPY . .

# 【前端修改】如果要以子路径 /app-product/ 部署，请用 base 指定前缀，同 .env中VITE_SERVER_NAME
RUN npx vite build --base=/app-product/

FROM nginx:alpine
# 构建产物放到 /usr/share/nginx/html/app-product
COPY --from=builder /app/dist /usr/share/nginx/html/app-product
# 覆盖 Nginx 配置，支持 SPA 子路径
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]